/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mathma.core.value;

import mathma.core.simp.Simplifier;

/**
 * @since 0.2.0
 * @author Ethan Levine
 */
public class ValueType<E extends Value> {

    private Simplifier simplifier;
    private Class<E> underlyingClass;

    public ValueType(Simplifier simplifier, Class underlyingClass) {
        @SuppressWarnings("unchecked") Class<E> castClass =
        (Class<E>) underlyingClass;
        this.simplifier = simplifier;
        this.underlyingClass = castClass;
    }

    public Simplifier getSimplifier() {
        return simplifier;
    }

    public Class<E> getUnderlyingClass() {
        return underlyingClass;
    }

}
